package com.ruoyi.common.utils;

import cn.hutool.core.img.ImgUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import com.ruoyi.common.exception.GlobalException;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 二维码工具
 *
 * @author ruoyi
 */
public class QrUtils {

    /**
     * 生成二维码
     *
     * @param content   二维码内容
     * @param width     二维码宽度
     * @param height    二维码高度
     * @param qrVersion 设置二维码中的信息量，可设置0-40的整数
     * @param response  response
     */
    public static void generate(String content, int width, int height, int qrVersion, HttpServletResponse response) {
        try {
            QrConfig qrConfig = new QrConfig();
            qrConfig.setWidth(width);
            qrConfig.setHeight(height);
            qrConfig.setQrVersion(qrVersion);
            QrCodeUtil.generate(content, qrConfig, ImgUtil.IMAGE_TYPE_JPEG, response.getOutputStream());
        } catch (IOException e) {
            throw new GlobalException("生成二维码出错！");
        }
    }
}
